fix(root): unblock express jobs in npmjs-release#8654
Merged
zahin-mohammad merged 1 commit intomasterfrom Apr 30, 2026
Merged
Conversation
16d3cee to
bcc422d
Compare
bcc422d to
6fccfb7
Compare
#8650 introduced an `always()` chain on `release-bitgojs` so it can run when one of its two context jobs is skipped (get-release-context in recovery mode, get-recovery-context in normal mode). The Express jobs (get-express-release-context, publish-express-to-docker-hub) relied on GHA's implicit `success()` against `release-bitgojs`, which propagates the skipped context-job status as not-success along the chain. Express therefore skips on both modes even though release- bitgojs itself succeeded. Override with explicit `always() && needs.<>.result == 'success'` on both Express jobs so the docker publish runs whenever release-bitgojs actually succeeded, regardless of which context job ran. Ticket: WCN-357
6fccfb7 to
620f8db
Compare
vinhkhangtieu
approved these changes
Apr 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
always()chain onrelease-bitgojs(so it can run when one of its two context jobs is skipped —get-release-contextin recovery mode,get-recovery-contextin normal mode), the downstream Express jobs (get-express-release-context,publish-express-to-docker-hub) silently skip in both modes. GHA's implicitsuccess()propagates the skipped context-job status as not-success along the chain, so Express skips even thoughrelease-bitgojssucceeded.always() && needs.<>.result == 'success'on both Express jobs so the docker publish runs wheneverrelease-bitgojssucceeded, regardless of which context job ran.Why
Manifested in the recovery-mode run that recovered the Apr 28 partial-publish (
bitgo@50.34.0,@bitgo/account-lib@27.21.0): npm publish recovered correctly butbitgo/express:15.27.0was never pushed to Docker Hub. The same bug would skip Express on the next normal release until this lands — there hasn't been a successful normal release since #8650 merged.Test plan
recovery-mode: trueand confirmget-express-release-contextandpublish-express-to-docker-hubboth run afterrelease-bitgojssucceeds.dry-run: trueand confirm Express jobs are skipped (gated byinputs.dry-run == false).release-bitgojsto fail mid-step and confirm Express jobs are skipped (gated byrelease-bitgojs.result == 'success').Ticket: WCN-357